package Parser;

/*******************************************************************************
 * This is the class that a Lexical Analyser class should extend.
 * @author Tudor Pascu
 * @version FINAL
 *******************************************************************************/
public abstract class LexicalAnalyser
{
    protected ReadFile file;

    /**
     * Called by subclasses Constructor. Passes the file to be stored here.
     * @param address The address to be stored.
     */     
    public LexicalAnalyser(String address){
        file = new ReadFile(address);
    }

    /**
     * Abstract method to be overwritten.
     * @return The Token to be returned.
     */
    public abstract Token getToken();

    /**
     * Abstract method to be overwritten.
     * @return If the Lexical Analyser has another token.
     */
    public abstract boolean hasToken();
}